██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Markdown
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
mwfqMarkdown è un mwfglinguaggio di markup con una sintassi del testo semplice progettata in modo che possa essere convertita in mwfwHTML e in molti altri formati usando un tool omonimo.cite-ref-markdown-4-1[4] Markdown è spesso usato per formattare file mwhaREADME, per scrivere messaggi in forum di discussioni e per creare mwhqtesto formattato utilizzando un mwhgeditor di testo semplice.
Contents
• Storia
• Esempi
• Note
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Storia
mwigJohn Gruber, con il contributo sostanziale di mwiwAaron Swartzcite-ref-swartz-2-1[2], ha creato il linguaggio Markdown nel 2004 con l'obiettivo di permettere alle persone "di scrivere usando un formato testo semplice da scrivere e leggere e, opzionalmente, di convertirlo in mwkaXHTML (o mwkqHTML) strutturalmente valido”.cite-ref-markdown-4-2[4]
Prendendo spunti dalle mwlwconvenzioni esistenti per scrivere testo semplice nelle email, come setext, il linguaggio è stato progettato per essere leggibile così com'è, senza che sembri marcato con tags o istruzioni di formattazionecite-ref-philosophy-5-0[5], diversamente dal testo formattato con un mwnqlinguaggio di markup come mwngRich Text Format (RTF) o HTML, che mostrano chiaramente istruzioni di formattazione.
Gruber ha scritto uno script in mwoaPerl chiamato mwoqMarkdown.pl che converte un testo marcato in un XHTML o HTML ben formattato e sostituisce i segni di minore ('<') e la mwoge commerciale con le relative mwowentità. Può essere usato da solo oppure come plugin di Blosxom o mwpqMovable Type, oppure come un filtro di testo per BBEdit.cite-ref-markdown-4-3[4] È distribuito con una mwqwlicenza BSD.cite-ref-license-6-0[6]cite-ref-7[7]cite-ref-8[8]
Da allora, Markdown è stato re-implementato da altri come un mwuqmodulo di Perl disponibile su mwugCPAN (Text::Markdown), e in vari altri mwuwlinguaggi di programmazione.
Siti come mwvqGitHub, mwvgreddit, mwvwDiaspora, Stack Exchange, mwwqOpenStreetMap, e mwwgSourceForge usano varianti di Markdown per facilitare le discussioni fra gli utenti.cite-ref-gfm-on-github-9-0[9]cite-ref-10[10]cite-ref-11[11]cite-ref-12[12]
Standardizzazione e CommonMark
Non esiste uno standard univocamente definito per Markdown, a eccezione dell'articolo originale di John Gruber e della sua implementazione che alcuni considerano una forma del cosiddetto mwbgmwbwabandonware.cite-ref-13[13]cite-ref-14[14] Questo ha portato a una frammentazione del linguaggio dato che differenti produttori ne scrivono la propria variante per correggere errori o per aggiungere funzionalità non previste originariamente.
Dal 2012 fino al 2014, un gruppo di persone capeggiate da Jeff Atwood hanno portato avanti quella che Atwood ha descritto come uno "sforzo di standardizzazione".cite-ref-futureofmarkdown-15-0[15] Un sito web di comunità ora si prefigge l'obiettivo di "documentare vari strumenti e risorse disponibili, di documentare autori e sviluppatori così come implementatori delle varie implementazioni di markdown".cite-ref-16[16] Nel settembre del 2014 Gruber ha obiettato sull'uso di "Markdown" nel nome di questo gruppo e del suo prodotto che per questa ragione è stato rinominato in "mwgwCommonMark".cite-ref-17[17]cite-ref-18[18]
È anche disponibile uno strumento (chiamato Babelmark2cite-ref-19[19]) che "confronta l'output delle varie implementazioni" per "promuovere la discussione su come e se alcuni aspetti poco chiari delle specifiche di Markdown debbano essere chiarite".cite-ref-20[20] Gruber ha fatto notare che una completa standardizzazione sarebbe un errore: "Siti (e persone) diverse hanno necessità differenti. Nessuna sintassi farebbe tutti felici."cite-ref-21[21]
Presso la mwmgInternet Engineering Task Force è in corso la procedura per standardizzare lo mwmwInternet media type mwnatext/markdown, indipendente dalla sintassi. Si pianifica di sottoporre al mwnqIESG la mwngInternet-Draft, mwoadraft-ietf-appsawg-text-markdown, nell'aprile 2015. La comunità che ruota intorno a Markdown mwoqè invitata a sottoporre proposte per guidare il processo di standardizzazione.
Estensioni
Una quantità di mwpalinguaggi di markup leggeri estendono Markdown implementando caratteristiche aggiuntive (come tabelle, note a piè pagina, liste di definizioni e Markdown all'interno di blocchi HTML) originariamente non disponibili con la sintassi di Markdown: esempi di questi linguaggi sono Markdown Extra, MultiMarkdown, Maruku,cite-ref-22[22] Kramdown e l'estensione Pandoc.cite-ref-23[23] In alcuni casi, questo ha lo scopo di permettere la conversione in formati alternativi al HTML come mwsgLaTeX, mwswRTF e DocBook.
Molte implementazioni omettono intenzionalmente il supporto all'enfasi all'interno di parole. Nella implementazione originale di Markdown, un costrutto come mwtgmy_long_variable è interpretato come una richiesta di aggiungere enfasi alle lettere "long" a metà della parola. Molti utenti trovano questo comportamento confusionale, per questa ragione molte implementazioni successive come mwtwPHP Markdown e mwuaPython Markdown non implementano questa caratteristica per impostazione di default.cite-ref-24[24]
Lo scritto mwvg"Thoughts on Markdown" riporta che mwvwJohn Gruber, sviluppatore originario, non ha risposto alle discussioni a proposito delle estensioni a Markdown e dichiara "Markdown sta cambiando, con o senza di lui"..
Esempi
| Testo con sintassi Markdown | Il codice HTML corrispondente generato da un processore Markdown | Il testo visualizzato nel browser |
|---|---|---|
| Heading ======= Sub-heading ----------- ### Another deeper heading | < h1 > Heading </ h1 > < h2 > Sub-heading </ h2 > < h3 > Another deeper heading </ h3 > | Heading Sub-heading Another deeper heading |
| Paragraphs are separated by a blank line. Leave 2 spaces at the end of a line to do a line break | < p > Paragraphs are separated by a blank line. </ p > < p > Leave 2 spaces at the end of a line to do a < br /> line break </ p > | Paragraphs are separated by a blank line. Leave 2 spaces at the end of a line to do a line break |
| Text attributes *italic* , **bold** , `monospace` , ~~strikethrough~~ . | < p > Text attributes < em > italic </ em > , < strong > bold </ strong > , < code > monospace </ code > , < s > strikethrough </ s > . </ p > | Text attributes italic , bold , monospace , strikethrough . |
| A [ link ]( http://example.com ). <<< No space between ] and ( >>> | < p > A < a href = "http://example.com" > link </ a > . </ p > | A link . |
| Shopping list: * apples * oranges * pears Numbered list: 1. apples 2. oranges 3. pears | < p > Shopping list: </ p > < ul > < li > apples </ li > < li > oranges </ li > < li > pears </ li > </ ul > < p > Numbered list: </ p > < ol > < li > apples </ li > < li > oranges </ li > < li > pears </ li > </ ol > | Shopping list: apples oranges pears Numbered list: apples oranges pears |
| The rain---not the reign---in Spain. | < p > The rain — not the reign — in Spain. </ p > | The rain—not the reign—in Spain. |
|  | < p >< img alt = "Image" title = "icon" src = "Icon-pictures.png" /></ p > | |
| Here's a simple footnote,[^1] and here's a longer one.[^bignote] [ ^1 ]: This is the first footnote. [ ^bignote ]: Here's one with multiple paragraphs and code. Indent paragraphs to include them in the footnote. `{ my code }` Add as many paragraphs as you like. | | Here’s a simple footnote, 1 and here’s a longer one. 2 This is the first footnote. ↩ Here’s one with multiple paragraphs and code. Indent paragraphs to include them in the footnote. { my code } Add as many paragraphs as you like. ↩ |
Integrazioni
Per quanto Markdown sia un linguaggio a markup minimale, semplice da leggere e modificabile con un normale editor di testi, per tutte le maggiori piattaforme esistono editor specificamente progettati per visualizzare le anteprime con gli stili applicati. Inoltre esistono plugin per la mwafosyntax highlighting incorporati in mwafsemacs, mwafwgedit, e mwaf0vim.
Implementazioni
Implementazioni di Markdown sono disponibili per molti diversi framework, piattaforme e linguaggi.
• RStudio, un mwagkIDE per mwagoR, dispone di una mwagsfunzione wrapper mwagwC++ per l'implementazione Markdown sundown.cite-ref-26[26]
• mwahmIntelliJ IDEA, un IDE per mwahqJava, mette a disposizione un plugin Markdowncite-ref-27[27]cite-ref-28[28]
• MultiMarkdown, un formato con caratteristiche di sintassi e opzioni di esportazione migliori rispetto al Markdown tradizionale
• PageDown, un parser per la sintassi Markdown di StackExchange
• 'GitHub Flavored Markdown' (GFM) aggiunge la mwaiisyntax highlightingcite-ref-29[29] e le tabelle; ha diverse implementazioni:
• "mwaikGrip - Github Readme Instant Preview" (Joe Esposito) - mwaioPython
• "mwaiwVim-Flavored-Markdown" (Jeff Tratner) - Vim scripting
• "mwai8GitHub-Flavored Markdown Comments" (Evan Solomon) - PHP mwajaWordPress plugin
• "mwajiMarkdown on Save" (Mark Jaquith) - PHP mwajmWordPress plugin
• "mwajuNode-GFM" (Gabriel Llamas) - mwajyJavaScript
• "mwajgParsedown" (Emanuil Rusev) - mwajkPHP
• Pandoc aggiunge tabelle, definizione di liste, apici e pedici, può generare automaticamente gli indici.cite-ref-30[30]
Test suites
• mwak8Markdown Text Editor, su github.com.
• mwaleMarkdown Test Suite, su github.com.
Note
cite-note-rfc-11. mwalg(mwalkmwaloEN) mwalsmwalwRFC 7763 — The text/markdown Media Type, su mwal0datatracker.ietf.org, mwal4Internet Engineering Task Force.
cite-note-swartz-22. mwamq(mwamumwamyEN) mwamcAaron Swartz, mwamgmwamkMarkdown, su mwamoAaron Swartz: The Weblog, 19 marzo 2004.
cite-note-32. mwam4(mwam8mwanaEN) mwanemwaniMarkdown 1.0b1, su mwanmDaring Fireball mwanq(archiviato dall'mwanuurl originale l'11 marzo 2004).
cite-note-markdown-44. mwan8(mwaoamwaoeEN) mwaoimwaomMarkdown, su mwaoqDaring Fireball mwaou(mwaoyarchiviato il 3 gennaio 2005).
cite-note-philosophy-55. ↑ mwaoo(mwaosmwaowEN) mwao0mwao4Philosophy, su mwao8Markdown: Syntax, mwapaDaring Fireball.
cite-note-license-66. ↑ mwapqmwapumwapyMarkdown: License, su mwapcDaring Fireball. mwapgURL consultato il 25 aprile 2014.
cite-note-77. ↑ mwapw(mwap0mwap4EN) mwap8mwaqaMarsEdit 2.3 ties the knot with Tumblr support, su mwaqemwaqiArs Technica. mwaqmURL consultato l'11 agosto 2009.
cite-note-88. ↑ mwaqc(mwaqgmwaqkEN) mwaqomwaqsReview: Practical Django Projects, su mwaqwmwaq0Ars Technica. mwaq4URL consultato l'11 agosto 2009.
cite-note-gfm-on-github-99. ↑ mwarimwarmmwarqGitHub Flavored Markdown, su mwaruhelp.github.com, github.com. mwaryURL consultato il 29 marzo 2013.
cite-note-1010. ↑ mwaromwarsmwarwReddit markdown primer. Or, how do you do all that fancy formatting in your comments, anyway?, su mwar0reddit.com. mwar4URL consultato il 29 marzo 2013.
cite-note-1111. ↑ mwasimwasmmwasqMarkdown Editing Help, su mwasustackoverflow.com, mwasyhttps://stackoverflow.com/. mwascURL consultato l'11 aprile 2014.
cite-note-1212. ↑ mwassmwaswmwas0SourceForge: Markdown Syntax Guide, su mwas4sourceforge.net. mwas8URL consultato il 10 maggio 2013.
cite-note-1313. ↑ mwatmJeff Atwood, mwatqmwatuResponsible Open Source Code Parenting, su mwatycodinghorror.com. mwatcURL consultato il 25 aprile 2014 mwatg(archiviato dall'mwatkurl originale il 21 febbraio 2014).
cite-note-1414. ↑ mwat0mwat4mwat8Trouble with parentheses in Markdown hyperlinks, su mwauasix.pairlist.net, 17 ottobre 2012. mwaueURL consultato il 25 aprile 2014.
cite-note-futureofmarkdown-1515. ↑ mwauuJeff Atwood, mwauymwaucThe Future of Markdown, su mwaugcodinghorror.com, 25 ottobre 2012. mwaukURL consultato il 25 aprile 2014 mwauo(archiviato dall'mwausurl originale l'11 febbraio 2014).
cite-note-1616. ↑ mwau8mwavamwaveMarkdown Community Page, su mwavimarkdown.github.io. mwavmURL consultato il 25 aprile 2014.
cite-note-1717. ↑ mwavcmwavgmwavkStandard Markdown is now Common Markdown, su mwavoblog.codinghorror.com, Jeff Atwood. mwavsURL consultato il 7 ottobre 2014.
cite-note-1818. ↑ mwav8mwawamwaweStandard Markdown Becomes Common Markdown then CommonMark, su mwawiInfoQ. mwawmURL consultato il 7 ottobre 2014.
cite-note-1919. ↑ mwawcmwawgmwawkBabelmark 2 - Compare markdown implementations, su mwawojohnmacfarlane.net. mwawsURL consultato il 25 aprile 2014.
cite-note-2020. ↑ mwaw8mwaxamwaxeBabelmark 2 - FAQ, su mwaxijohnmacfarlane.net. mwaxmURL consultato il 25 aprile 2014.
cite-note-2121. ↑ mwaxcJohn Gruber, mwaxgmwaxkTwitter post, su mwaxotwitter.com. mwaxsURL consultato il 6 settembre 2014.
cite-note-2222. ↑ mwax8mwayamwayeMaruku, su mwayimaruku.rubyforge.org. mwaymURL consultato il 3 maggio 2015 mwayq(archiviato dall'mwayuurl originale il 24 aprile 2015).
cite-note-2323. ↑ mwaykmwayomwaysPandoc Markdown, su mwaywjohnmacfarlane.net, Pandoc. mway0URL consultato il 7 ottobre 2014.
cite-note-2424. ↑ mwazemwazimwazmMarkdown Discuss, su mwazqsix.pairlist.net, Markdown-Discuss. mwazuURL consultato il 7 ottobre 2014.
cite-note-2525. ↑ mwazkmwazomwazsDoxygen Manual: Markdown support, su mwazwstack.nl, 21 aprile 2014. mwaz0URL consultato il 25 aprile 2014.
cite-note-2626. ↑ mwa0efile 462 lines (396 sloc) 12.572 kb, mwa0imwa0mrstudio/src/cpp/core/markdown/Markdown.cpp at master · rstudio/rstudio · GitHub, su mwa0qgithub.com. mwa0uURL consultato il 25 aprile 2014.
cite-note-2727. ↑ mwa0kmwa0omwa0sJetBrains Plugin Repositorymwa0w :: Markdown, su mwa00plugins.jetbrains.com. mwa04URL consultato il 25 aprile 2014 mwa08(archiviato dall'mwa1aurl originale il 27 aprile 2014).
cite-note-2828. ↑ mwa1qmwa1umwa1ynicoulaj/idea-markdown ¡ GitHub, su mwa1cgithub.com, 1º dicembre 2013. mwa1gURL consultato il 25 aprile 2014.
cite-note-2929. ↑ mwa1wmwa10mwa14Writing on GitHub, su mwa18help.github.com, Github, Inc.. mwa2aURL consultato il 9 luglio 2014.
cite-note-3030. ↑ mwa2qmwa2umwa2yPandoc's markdown, su mwa2cjohnmacfarlane.net. mwa2gURL consultato il 5 agosto 2014.
cite-note-3131. ↑ mwa2wmwa20mwa24Discount - a C implementation of the Markdown markup language, su mwa28pell.portland.or.us. mwa3aURL consultato il 1º novembre 2014.
cite-note-3232. ↑ mwa3qmwa3umwa3yMd2doc - Markdown2Html2Docbook XSLT 2.0 conversion tool, su mwa3cgithub.com. mwa3gURL consultato il 25 novembre 2014.
Voci correlate
Linguaggi a marcatori leggeri simili:
• mwa30AsciiDoc
• Creole
• mwa4eDeplate
• Org-mode
• Plain Old Documentation, utilizzato per la documentazione di mwa4yPerl
• mwa4greStructuredText, utilizzato per la documentazione di mwa4kPython
• Setext
• Textile
• txt2tags
• Wikitesto
Altri progetti
Altri progetti
• Wikibooks
• Wikimedia Commons
• Wikibooks contiene testi o manuali sul Markdown
• Wikimedia Commons contiene immagini o altri file sul Markdown
Collegamenti esterni
• (EN) Sito ufficiale, su daringfireball.net.
• mwa5g(EN) Markdown Community Page, su GitHub.
• mwa5o(EN) Markdown Community Group, su W3C (archiviato il 25 dicembre 2019).
• mwa5w(EN) CommonMark, su commonmark.org.
• mwa54(EN) Nathan Willis, A common Markdown, su LWN.net, 10 settembre 2014.
• mwa6a(EN) Marked Documentation, su marked.js.org.